The present invention generally relates to reducing integration times in a continuous integration environment and, more particularly, to reducing integration times by omitting excessive testing procedures.
Continuous integration (CI) is the practice, in software engineering, of merging all developer working copies to a shared mainline several times a day. CI may be performed as many as several times per day in certain systems. Continuous Delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time. CI and CD aim to build, test, and release software faster and more frequently to reduce the cost, time, and risk of delivering changes by allowing for more incremental updates to applications in production. Various services are available that provide continuous integration for software deployments. Server-based systems may run in a servlet container and may support various known software deployment tools. CI is often implemented in cloud-based systems and remote application environments.
A continuous integration process may include building, testing, and reporting phases. In the testing phase, a commit undergoes a variety of different tests to ensure that the commit is compliant, performs as expected, and is free of defects that would adversely impact a project in which the commit is integrated.